﻿@using ABC.Controllers.ViewModels
@using ABC.Controllers.ViewModels.My
@model ConfirmCalculationViewModel
@{
    ViewBag.Title = "Подтверждение расчета №" + Model.UniqueNumber;
    Layout = "~/Views/Shared/_MyLayout.cshtml";
}
<script>
    function DeleteFile(obj, flag) {
        var id = $(obj).parents(".tarif-confirm-item").attr("id");
        var name = $("#" + id + " input[type=file]").attr("name");
        var fileId = $("#" + id + " #uploaded-tarif-files tfoot button").eq(1).attr("file-id");
        if (fileId) {
            $.ajax({
                url: '@Url.Action("DeleteFileCalculation", "Cabinet")',
                type: "POST",
                data: { fileId: fileId },
                success: function (data) {
                   
                },
                error: function (jqXhr, textStatus, errorThrown) {
                    //делаем что-то в случае ошибки
                },
                complete: function () {
                    //делаем что-то по завершению
                }
            });
        }
        if (flag) {
            $("#" + id + " input[type=file]").replaceWith("<input class='hide' type='file' onchange='GetFileName(this);'/>");
            $("#" + id + " input[type=file]").attr("name", name);
        }
        $("#" + id + " #uploaded-tarif-files tbody").html("");
        $("#" + id + " #uploaded-tarif-files tfoot button").eq(1).attr("file-id","");
    }
    function GetFileName(input) {
        DeleteFile(input, false);
        if (input.files && input.files[0]) {
            var id = $(input).parents(".tarif-confirm-item").attr("id");
            var oFile = input.files[0];
            var value = "<tr><td>" + oFile.name + "</td><td></td><td><button class='btn' type='button' onclick='DeleteFile(this,true);'>Удалить</button></td></tr>";
            $("#" + id + " #uploaded-tarif-files tbody").append(value);
        }
    };

    function ChangeConfirm(obj) {
        if ($(obj).is(":checked") && $(obj).val() == "Не подтверждать") {
            HideAllFields(obj);
            $(obj).parents(".control-group").siblings(".alert-info").addClass("hide");
        }
        if ($(obj).is(":checked") && $(obj).val() == "Самостоятельно") {
            DisplayAllFields(obj);
            $(obj).parents(".control-group").siblings(".alert-info").addClass("hide");
            var id = $(obj).parents(".tarif-confirm-item").attr("id");
            if (!$("#" + id + " #official-sale").val()) {
                $("#" + id + " #official-sale").val(0);
            }
            if (!$("#" + id + " #unofficial-sale").val()) {
                $("#" + id + " #unofficial-sale").val(0);
            }
            CalculatePremiumPolicy(obj);
        }
        if ($(obj).is(":checked") && $(obj).val() == "Андеррайтер брокера") {
            HideAllFields(obj);
            $(obj).parents(".control-group").siblings(".alert-info").removeClass("hide");
        }
    }
    function DisplayAllFields(obj) {
        var fields = $(obj).parents("fieldset").children(".control-group").slice(2, 11);
        fields.removeClass("hide");
    }
    function HideAllFields(obj) {
        var fields = $(obj).parents("fieldset").children(".control-group").slice(2, 11);
        fields.addClass("hide");
    }
    function SaveConfirm() {
        var postform = document.getElementById("form1");
        var calculations = [];
        for (var i = 0; i < $(".tarif-confirm-item").length; i++) {
            var controls = $("#calculation" + i + " .control-group");
            var item = new Object();
            item.Id = $("#calculation" + i).attr("idinbd");
            item.Name = controls.eq(0).children(".controls").children(".tarif-confirm-sklogo").text();
            item.ConfirmType = controls.eq(1).children(".controls").children("label").children("[type='radio']:checked").val();
            item.InsuredSum = controls.eq(2).children(".controls").children("input[type=text]").val();
            item.Rate = controls.eq(3).children(".controls").children("input[type=text]").val();
            item.CalculatedPremium = controls.eq(4).children(".controls").children("input[type=text]").val();
            item.OfficialDiscount = controls.eq(5).children(".controls").children("input[type=text]").val();
            item.UnofficialDiscount = controls.eq(6).children(".controls").children("input[type=text]").val();
            item.PremiumPolicy = controls.eq(7).children(".controls").children("span").text().replace(" руб.", "");
            item.Fee = controls.eq(8).children(".controls").children("select").val();
            item.FeeRub = controls.eq(8).children(".controls").children("span").eq(1).text().replace(" руб.", "");
            item.CostPolicy = controls.eq(9).children(".controls").children("span").text().replace(" руб.", "");
            calculations.push(item);
        }
        postform.appendChild(CreateHiddenField('calculations', JSON.stringify(calculations)));
        postform.submit();
    }
    function CalculateCalculatedPremium(obj) {
        var id = $(obj).parents(".tarif-confirm-item").attr("id");
        if ($("#" + id + " #strah-summ").val() && $("#" + id + " #tarif").val()) {
            $("#" + id + " #strah-prem").val($("#" + id + " #strah-summ").asNumber({ region: 'ru-RU' }) * $("#" + id + " #tarif").asNumber({ region: 'ru-RU' }) / 100);
            $("#" + id + " #strah-prem").formatCurrency({ digitGroupSymbol: ' ', decimalSymbol: ',', symbol: '' });
            CalculatePremiumPolicy(obj);
        }
    }
    function CalculatePremiumPolicy(obj) {
        var id = $(obj).parents(".tarif-confirm-item").attr("id");
        if ($("#" + id + " #strah-prem").val() && $("#" + id + " #official-sale").val()) {
            var callculatedPremium = $("#" + id + " #strah-prem").asNumber({ region: 'ru-RU' });
            var officialDiscount = parseFloat($("#" + id + " #official-sale").val());
            $("#" + id + " #strah-prem-polis").text(callculatedPremium - (officialDiscount * callculatedPremium / 100));
            $("#" + id + " #strah-prem-polis").text($("#" + id + " #strah-prem-polis").text().replace(".", ","));
            $("#" + id + " #strah-prem-polis").formatCurrency({ region: "ru-RU" });
            CalculateCostPolicy(obj);
        }
    }
    function CalculateCostPolicy(obj) {
        var id = $(obj).parents(".tarif-confirm-item").attr("id");
        if ($("#" + id + " #strah-prem-polis").text() && $("#" + id + " #unofficial-sale").val()) {
            var unofficialDiscount = parseFloat($("#" + id + " #unofficial-sale").val());
            var premiumPolicy = $("#" + id + " #strah-prem-polis").asNumber({ region: 'ru-RU' });
            $("#" + id + " #CostPolicy").text(premiumPolicy - (premiumPolicy * unofficialDiscount / 100));
            $("#" + id + " #CostPolicy").formatCurrency({ region: "ru-RU" });
        }
        CalculateVznos(obj);
    }
    function CalculateVznos(obj) {
        var id = $(obj).parents(".tarif-confirm-item").attr("id");
        if ($("#" + id + " #strah-prem-polis").text() && $("#" + id + " #unofficial-sale").val() && $("#" + id + " #vznos").val()) {
            var vznos = parseInt($("#" + id + " #vznos").val());
            var unofficialDiscount = parseFloat($("#" + id + " #unofficial-sale").val());
            var premiumPolicy = $("#" + id + " #strah-prem-polis").asNumber({ region: 'ru-RU' });
            $("#" + id + " #vznosinrub").text(vznos * premiumPolicy * (1 - unofficialDiscount / 100) / 100);
            $("#" + id + " #vznosinrub").formatCurrency({ region: "ru-RU" });
        }
    }
    $(function () {
        $.each($("input[confirm-type='himself']"), function () { ChangeConfirm(this); });
    });
</script>
<div class="row-fluid">
    <!--// Левая колонка -->
    @{Html.RenderPartial("_SectionCabinetMenu", new BaseViewModel());}
    <!--// Правая колонка -->
    <div class="span9">
        <div class="page-header">
            <h2>
                Подтверждение расчета №@Model.UniqueNumber</h2>
        </div>
        @using (Html.BeginForm("SaveConfirm", "Cabinet", FormMethod.Post, new { @class = "form-horizontal", id = "form1", enctype = "multipart/form-data" }))
        {
            @Html.HiddenFor(x => x.Id)
            for (var i = 0; i < Model.Calculations.Count; i++)
            {
            <div class="tarif-confirm-item" idinbd="@Model.Calculations[i].Id" id="@("calculation" + i)">
                <fieldset>
                    <div class="control-group">
                        <label class="control-label">
                            Страховая компания</label>
                        <div class="controls">
                            <!--img src="http://www.soglasie.ru/images/logo.png" alt="Согласие" title="Согласие" /-->
                            <div class="tarif-confirm-sklogo">@Html.Raw(Model.Calculations[i].Name)</div>
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="confirm-type">
                            Подтверждение</label>
                        <div class="controls">
                            <label class="radio">
                                <input id="confirm-type" type="radio" name="@("confirm-type" + i)" value="Не подтверждать" onchange="ChangeConfirm(this);"
                                    checked="">
                                <!-- Значание по-умолчанию -->
                                Не подтверждать
                            </label>
                            <label class="radio">
                                <input type="radio" name="@("confirm-type" + i)" confirm-type="himself" @(Model.Calculations[i].ConfirmType == "Самостоятельно" ? "checked='checked'" : "") value="Самостоятельно" onchange="ChangeConfirm(this);">
                                Самостоятельно
                            </label>
                            <label class="radio">
                                <input type="radio" name="@("confirm-type" + i)" value="Андеррайтер брокера" onchange="ChangeConfirm(this);">
                                Андеррайтер брокера
                            </label>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="strah-summ">
                            Страховая сумма</label>
                        <div class="controls">
                            <input class="input-medium currency" type="text" id="strah-summ" onblur="CalculateCalculatedPremium(this);" value="@Model.Calculations[i].InsuredSum">
                            <span class="help-inline">руб.</span>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="tarif">
                            Тариф</label>
                        <div class="controls">
                            <input class="input-mini" type="text" onblur="CalculateCalculatedPremium(this);"  id="tarif" value="@Model.Calculations[i].Rate">
                            <span class="help-inline">%</span>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="strah-prem">
                            Расчетная премия</label>
                        <div class="controls">
                            <input class="input-medium currency" type="text" onblur="CalculatePremiumPolicy(this);" id="strah-prem" value="@Model.Calculations[i].CalculatedPremium">
                            <span class="help-inline">руб.</span>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="official-sale">
                            Официальная скидка</label>
                        <div class="controls">
                            <input class="input-mini" type="text" id="official-sale" onblur="CalculatePremiumPolicy(this);" value="@Model.Calculations[i].OfficialDiscount">
                            <p class="help-inline">
                                %</p>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="unofficial-sale">
                            Неофициальная скидка</label>
                        <div class="controls">
                            <input class="input-mini" type="text" id="unofficial-sale" onblur="CalculatePremiumPolicy(this);" value="@Model.Calculations[i].UnofficialDiscount">
                            <p class="help-inline">
                                %</p>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="strah-prem-polis">
                            Премия по полису</label>
                        <div class="controls">
                            <span id="strah-prem-polis" class="form-text">@(string.Format("{0} руб.", Model.Calculations[i].PremiumPolicy))</span>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label" for="vznos">
                            Величина 1-го взноса</label>
                        <div class="controls">
                            <select class="input-mini" id="vznos" name="vznos" onchange="CalculateVznos(this);">
                                <option value="100" selected="selected">100</option>
                                <option value="70">70</option>
                                <option value="50">50</option>
                                <option value="40">40</option>
                                <option value="33">33</option>
                                <option value="30">30</option>
                                <option value="25">25</option>
                            </select>
                            <span class="help-inline">% = </span><span id="vznosinrub" class="help-inline"></span>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label">
                            Стоимость полиса</label>
                        <div class="controls">
                            <span id="CostPolicy" class="form-text">@(string.Format("{0} руб.", Model.Calculations[i].CostPolicy))</span>
                        </div>
                    </div>
                    <div class="control-group hide">
                        <label class="control-label">
                            Файлы</label>
                        <div class="controls">
                            <div class="alert alert-block">
                                <a class="close" data-dismiss="alert" href="#">×</a>
                                <p>
                                    <strong>Предупреждение!</strong> Обязательно прикрепите к запросу файл расчета из
                                    <a href="@Url.Action("CalcSk", "Cabinet")"
                                        target="_blank">оригинального калькулятора</a> страховой компании, иначе заявка
                                    не будет передана в работу.</p>
                            </div>
                            <table id="uploaded-tarif-files" class="table table-bordered">
                                <thead>
                                    <tr>
                                        <th>
                                            Имя файла
                                        </th>
                                        <th colspan="2">
                                            Дата загрузки
                                        </th>
                                    </tr>
                                </thead>
                                <tbody>
                                    @if (!string.IsNullOrEmpty(Model.Calculations[i].FileName))
                                    {
                                        <tr>
                                            <td>
                                                <a href="@Url.Action("DownloadFile", "Cabinet", new { id = Model.Calculations[i].FileId })" class="" target="_blank" title="Загрузить файл на компьютер">
                                                    @Model.Calculations[i].FileName</a>
                                            </td>
                                            <td>
                                                @Model.Calculations[i].DateUploadFile
                                            </td>
                                            <td>
                                                <button class="btn" type="button" onclick="DeleteFile(this,true);">
                                                    Удалить</button>
                                            </td>
                                        </tr>
                                    }
                                </tbody>
                                <tfoot>
                                    <tr>
                                        <td colspan="100%">
                                            <div class="btn-group">
                                                <button type="button" class="btn " onclick="$(this).siblings('input[type=file]').click();">
                                                    Выбрать на компьютере</button>
                                                <button class="btn" rel="tooltip" file-id="@Model.Calculations[i].FileId" type="button" data-original-title="Удалить" onclick="DeleteFile(this,true);">
                                                    <i class="icon-trash"></i>
                                                </button>
                                                <input type="file" class="hide" name="@("fileUpload" + i)"  onchange="GetFileName(this);" />
                                            </div>
                                        </td>
                                    </tr>
                                </tfoot>
                            </table>
                        </div>
                    </div>
                    @* <div class="control-group hide">
                        <label class="control-label" for="main-image">
                            Расчет</label>
                        <div class="controls">
                            <div class="btn-group">

                            </div>
                            <span class="help-block" id="filename"></span><span class="help-block">Обязательно прикрепите
                                к подтверждению файл расчета из <a
                                href="@Url.Action("CalcSk", "Cabinet")"
                                target="_blank">оригинального калькулятора</a> страховой компании.</span>
                        </div>
                    </div>*@
                    <div class="alert alert-info hide">
                        <p>
                            <strong>Обратите внимание!</strong> На основе данных из расчета <a href="@Url.Action("Kasko", "Information", new { id = Model.Id })" target="_blank">
                                №@Model.UniqueNumber</a> (@Model.DateCalculation.ToString("от dd MMMM, HH:mm"))
                            будет составлен запрос в отдел андеррайтинга. Отслеживать статус исполнения и управлять
                            заявкой вы можете на странице "<a href="#" target="_blank">Заявки</a>".</p>
                    </div>
                </fieldset>
            </div>
            }
        }
        <div class="form-actions">
            <button class="btn btn-primary btn-large" onclick="SaveConfirm();">
                Подтвердить расчет</button>
        </div>
    </div>
</div>
